═══ 1. Technical Support ═══ Evolutionary Software can be contacted at the following numbers. (219)-833-4556 ═══ 2. Registration ═══ Evolutionary Software can be contacted at the following number. (219)-833-4556 For ordering information refer to the readme.txt file that came with this software ═══ 3. Introduction ═══ The Evolutionary Software Batch Management System allows you to control mission critical jobs and repetitive tasks from within the OS/2 Workplace Shell. By utilizing the power of System Object Modules (SOM) and the OS/2 Workplace Shell, the standard OS/2 graphical interface is used to create job properties, review logs, and verify execution of programs. Since the programs are user defined as WPS Objects, you can execute OS/2, DOS, and Windows programs. You can control program parameters such as full screen, windowed, minimized and DOS settings just like any OS/2 object! Evolutionary Software has added a page to the settings notebook on a program object. The page titled "Batch Time" on the notebook has all the necessary settings to automatically start that particular object. If you are familiar with the OS/2 Workplace Shell, you will find the Evolutionary Software approach extremely easy to use. ═══ 4. Installation ═══ Performing The Installation 1.) Place the installation diskette into a diskette drive (for example, Drive A). 2. )Open an OS/2 window (found in OS/2 System Command Prompts). 3.) Make the diskette drive the current drive by typing in the drive letter (for example A:) then press Enter. 4. )Then type in "Install" and press Enter to start the install program. 5. )The install program will then display a screen with the source drive for the installation diskette set to the A drive. The target drive for transferring of the installation files set to the C drive. The target directory for the installation files has been set to BATCH. Change the the values if necessary to match your environment. 6.) Point to the Install button and Click. 7. )Follow any further instructions during the install program. 8.) After installation completes remove the installation diskette from the drive. 9. )Please reboot your computer. Installation Details This installation will perform the major functions listed below. 1.) The installation diskette will be copied to a target drive and directory selected by the installer. 2.) The LIBPATH,PATH,DPATH, and SET BOOKSHELF statements in the CONFIG.SYS will be updated to include the selected target drive and directory. The original CONFIG.SYS will be saved as CONFIG.ESI 3.) A new folder will be created on your OS/2 desktop containing the program objects in support of the Evolutionary Software Task Scheduler and Management System. 4.) A log file(batchlog.dat) will be created and initialized in the target directory. 5.) A registration folder will temporarily be created in your OS/2 startup folder. After re-booting your computer(per installation instructions) the registration of the Evolutionary Software Task Scheduler And Management system will complete. The registration will remove itself from the startup folder as this should only be needed once during the installation. 6.) A new object will be created in your templates folder. This new object named "Batch" will be what you use to drag to the desktop for each task to be scheduled. Note: SET RESTARTOBJECTS=NO If this parameter is in your computers CONFIG.SYS, a warning message should have been issued by the install program. This is not an error, but the program object that was added to your startup folder will not execute after you reboot your computer. Therefore after you have re-booted your computer you must open the startup folder (found in OS/2 System) and point to the registration object and double-click. This will start the registration program and complete the installation. ═══ 5. Getting Started ═══ This section will teach you how to create an object. The object we will create will be called Fred. Fred will be scheduled to execute every 1 minute. After we have created Fred, you will be able to look at the log file and see when Fred ran. Let's get started. In order to create Fred we need to open your Batch folder. Find your Batch folder and double click on it. When the folder opens, find the object that looks like the following. Point your mouse at the object. Hold down your right mouse button and drag out a new batch object. A dialog notebook will appear that looks like the following. In the entry field titled "Path and file name", key in the path where you installed the batch system + fred.cmd. An example would be: "c:\batch\fred.cmd". Click on the tab in the notebook titled "Batch Time". The following page will appear. Fill it out exactly as seen above. Close the window after you have finished. You have created your first Batch Object!!!! In order for the object to be scheduled and executed, you need to run the batch agent. Locate and double click on the Batch Folder. Inside the Batch Folder, you will find an object called Batch Agent. Double click on the Batch Agent. If you have set Fred up correctly, as soon as you double click on the Batch Agent, fred should run. It will then run every 1 minute after that. After fred runs a couple of times, let's check the log. Open up the batch folder and click on the program object titled "View Log". You will see some entries titled batch. These entries are Fred. If you wanted the entries to be titled something other than batch, change the title of the object on the desktop. I hope this section helped you get started. Note: If you decide to change the title, be careful to enter the first two lines as a date and time in the correct format. The next time the object will run is reflected by the title of the object. If the object title is changed, the next execution time will be updated based upon the title. ═══ 6. Creating New Objects ═══ This section will describe the basic steps necessary in creating a task to be scheduled and executed. The headings in this section will be highlighted so you can click on those headings to get a more detailed explanation. Each new "Batch" object begins in the templates folder. Simply drag out a "Batch" object from the templates folder as explained in Create The New Object. After the object has been put on the desktop, a notebook will appear. In the notebook you will see tabs with the setting information on them. Settings for the batch time tab are explained in Modifying "Batch Time". After the batch time tab has been filled out and the update button has been pressed, the object is ready to be started at the given times. After all the objects have been created, the agent needs to be run in order for the objects to be automatically executed. It would be the suggestion of Evolutionary Software to create a shadow of the Batch Agent and put it in the startup folder.This will ensure the agent will be executed every time you start your computer. You can find out how to create a shadow by consulting your OS/2 Documentation. The Batch Agent icon looks like the following. More information on the Batch Agent can be found in The Agent's Job. ═══ 6.1. Overview ═══ This section will describe the basic steps necessary in creating a task to be scheduled and executed. The headings in this section will be highlighted so you can click on those headings to get a more detailed explanation. Each new "Batch" object begins in the templates folder. Simply drag out a "Batch" object from the templates folder as explained in Create The New Object. After the object has been put on the desktop, a notebook will appear. In the notebook you will see tabs with the setting information on them. Settings for the batch time tab are explained in Modifying "Batch Time". After the batch time tab has been filled out and the update button has been pressed, the object is ready to be started at the given times. After all the objects have been created, the agent needs to be run in order for the objects to be automatically executed. It would be the suggestion of Evolutionary Software to create a shadow of the Batch Agent and put it in the startup folder.This will ensure the agent will be executed every time you start your computer. You can find out how to create a shadow by consulting your OS/2 Documentation. The Batch Agent icon looks like the following. More information on the Batch Agent can be found in The Agent's Job. ═══ 6.2. Create The New Object. ═══ In order to get a new "Batch" object from the templates folder, you must locate the templates folder. The templates folder looks like the following. Once you locate the templates folder, open it by double clicking on it with the left mouse button. The templates folder will open up. Locate the "Batch" template object In the templates folder. It will look like the following. Position your cursor on the "Batch" object template. Hold down your right mouse button and drag the new object out to an empty spot on your desktop. The first screen you will see is the setting page for the "Batch" object. The "Batch" object is exactly the same as a "Program" object with the exception of a new tab called "Batch Time". Consult your OS/2 documentation on how to set up a program object. An explanation of the "Batch Time" tab is explained in Modifying "Batch Time" . ═══ 6.3. Modifying "Batch Time". ═══ Click on the "Batch Time" tab with the left mouse button In order to open the time settings for the object. The "Batch Time" tab looks like the following. After you click on that tab a page comes up in the book that looks like the following. Each letter from the above figure is explained in the following list. A.) The "Start Date and Time" box represents the next date and time the object will be executed. B.) The "Repeat Every" box represents how often you want the object to repeat. Put a number in the upper box. Put a quantity of time in the lower box. An example would be a "5" in the upper box, and "Minutes" in the lower box. This object would then execute every five minutes. If you have the lower box set on none the object will only run once. This could be useful for an application which needs to run at irregular intervals. Schedule the object when you want it to run. It will only run once. The following is a list of repeat types. 1.)minutes->repeat every "x" minutes 2.)hours->repeat every "x" hours 3.)days->repeat every "x" days 4.)weeks->repeat every "x" weeks 5.)months->repeat every "x" months 6.)(BEMo)->repeat every "x" days before the end of every month. 7.)(WFBMo)->Workdays from the begining of the month. A workday is defined in the Tasker Setup 8.)(WFEMo)->Workdays from the end of the month. 9.)Batch file->This repeat interval executes when either a file is created or deleted. This corresponds with the "Batch File" tab in the notebook. C.) The "Record in Log" box determines whether the events for the object will be recorded in the log file. You may want to uncheck this box on an object that runs every minute. If the object runs every minute, the log file will fill up with just that object's events. D.)The "Exception Days" boxes represent days you do not want the object to execute. If you never want this object to execute on a Monday, put a check in the "M" box. E.) If you press the "Help" button, you guessed it, you get this help facility. F.) The "Update" button commits all changes made to the database. If you do not press the update button, all the changes you have made in this dialog box are lost. G.) The "Exception Calendar" box is a pull down list of calendars that you have defined. The days that are selected on the calendar will be exception days. The default calendar is named "Default". Calendars are stored in the Batch.ini file. Each object can point to the same calendars or different calendars. A good application for the "Exception Calendar" box would be for holidays such as Christmas. H.) The "Modify Calendar" button allows you to modify exception calendars. See Modifying Calendars I.) The "Hold" box keeps the object from running until the box is unchecked. ═══ 6.4. Modifying "Batch File." ═══ The "Batch File" tab is used to associate an object to a file. The object can be set up so that it will execute when a file is deleted or created. In order for the object to run on file conditions, the "Batch Time" tab must have "Batch File" in the selection box as illustrated in the following picture. When selecting the "Batch File" tab the following dialog box will appear. A.) A fully qualified path such as c:\test\temp.dat must be entered in the "File Name Path" box. B.) Having the "Execute when file is created" button selected will have the object executed when the "Batch Agent" sees the file in the path entered in "A.)". C.) Having the "Execute when file is deleted" button selected will have the object executed every time the "Batch Agent" cycles, and the file entered in "A.)" does not exist in the path. Make sure you have the object re-create the file, otherwise the batch agent will continue to run this object. D.) The "Browse" button is used to graphically find a path and file. ═══ 6.5. Modifying "Dependents" ═══ The "Dependency" tab is used to set up dependencies between two objects. The dependency is accomplished by dragging a batch object onto the multiline entry box. The multiline entry box is represented by "B.)" . Once the object is dropped, the name will be displayed in the multiline entry box. The name being displayed then represents a dependcy on that object. The way to eliminate the dependency is to click on button "A.)" titled "Delete Link". Let's discuss how a dependency would work if we had two objects titled "Y" and "X". If you dragged object "X" on object "Y"'s dependency tab multline entry box, object "Y" would not execute unless object "X" had run in the same 24 hour workday. To further complicate matters, if in the 24 hour workday object "Y"'s dependency is not met, it will be rescheduled to the next repeat interval. The 24 hour workday usally runs from 12:00 AM to 11:59:59 PM. The 24 hour workday can be offset in hours by running the tasker setup program. ═══ 6.6. Modifying "Successor" ═══ The "Successor" tab is used to set up successor links between two objects. The link is accomplished by dragging a batch object onto the multiline entry box. The multiline entry box is represented by "B.)" . Once the object is dropped, the name will be displayed in the multiline entry box. The name being displayed then represents a successor object to the owner object. The way to eliminate the successor is to click on button "A.)" titled "Delete Link". A successor object is run imediately after the owner object has ran. The successor object differs from the dependency object in that it does not look at the time the object is scheduled. It runs immediately after the owner object has ran. The owner object will not pay attention to any exception dates or times. If you need that functioanlity, use a dependency object. ═══ 6.7. Modifying "Time Range" ═══ The time range tab is used to limit a scheduled task to run during a specific time period. For example, you may want to schedule an object that runs once a minute to move email from one post office to another. However, you only want to move email from 8 am to 5 pm because that is the only time employees put email in there post offices. Set the batch time tab repeat every box to 1 minutes. Set the start time range a.) buy moving scroll bar b.) to 8 am, and set the finish time range C.) to 5 pm. by moving scroll bar D.) ═══ 7. Tasker Setup ═══ The "Tasker Setup" program is used to set up exception calendars, the workday offset and default workdays. If you want to run the tasker setup program, locate the object that looks like the following in your batch folder on your desktop. Point your cursor at the object and double click with your left mouse button. The following screen will come up. The fist tab allows you to modify calandars. The second tab allows you to setup you company's workdays. The third tab labled "Work offset". allows you to determine when jobs will be schelduled, if a dependency has not been met. ═══ 7.1. Modifying "Calendars" ═══ Exception Calendars are used to keep objects from executing on a specific calendar Date. If you create a calendar that has June 1st as an exception day (In other words it is checked in red). Any object that has that calendar assigned to it will not run on that day. This dialog box allows you define multiple calendars. After the calendars have been defined, you can assign a specific calendar to each object. In order to create a new calendar name, Just press the "C. Add calendar button" ,and type in a new name ,and then press OK. The new Calendar name will be created and put in the "A.) selected Calendar" list Box. However, that Calendar will not be the calendar you are working with until you choose to work with that calendar name. The calendar name that is chosen in the "A. selected Calendar" list box is the one you are working with. If you want to change your new calendar definition, select the new one from the "A. selected Calendar" list Box. The calendar "E." at the bottom of the dialog box represents an entire month at a time. You can pick a day by selecting it with the left mouse button. By selecting a day, the day will turn the color red . The color red indicates that day will be used as an exception day. If you put a check in the "D. Apply Every Year" Check Box, the color for the days you select will turn green. The green color indicates that day will be an exception day every Year. For example: You may want December 25th to be green if you don't want an object to execute on Christmas of every year. The two buttons "F. Next Month" and "G. Prior Month" allow to scroll through months. If you want to delete a calendar, make it the current calendar in the "A. selected Calendar" list box, and press the "B. Delete Calendar " button. Any object that was using that calendar will now be using the default calendar. ═══ 7.2. Modifying "Workdays" ═══ Workdays are used to run jobs at a specific time of the month. Every companys workdays are different, and this allows you to define your company workdays. Each object has a repeat every time that is picked from a pull down list box. The repeat every pull down list box has choices such as minutes, hours etc. There are two very special choices called WFBMo (Workdays From The Begining Of The Month) and WBEMo (WorkDays Before the End Of The Month). If either of the two choices above are picked as an object's repeat type, the object will be schelduled based upon the default workdays. You can change your company workdays by locating the tasker setup program in you batch folder. It looks like the following Point your cursor at the object and double click with your left mouse button. The following screen will come up. Click on the second tab Labled "Workdays". Only the day's that are checked will be counted when calculating the next start time. A good example of this would be, if you need to run payroll on the 3rd working day of the month. If Monday through Friday are checked as your company's working days and the 1st lands on a sunday, the 3rd working day of the month would be the 4th. ═══ 7.3. Modifying "Work Offset" ═══ The work offset tab is used in conjunction with dependecies. If object "A" is dependent on object "B", object "A" will wait until object "B" will run before it can run. If the dependency is never met, object "A" will wait until midnight and then it will be rescheduled. You can make the object wait longer than midnight by changing the "Work Offset". You can change your company's work offset by locating the tasker setup program in you batch folder. It looks like the following Point your cursor at the object and double click with your left mouse button. The following screen will come up. Click on the third tab Labled "Work Offset". Increase the interger in the entry box to make the object wait longer. ═══ 8. Logging Information In The Log File ═══ The log file consists of three fields. 1. The Name Field 2. The Start Date/Time Field 3. The Action Field All actions that take place on batch objects are automatically logged into the log file. Currently there are 3 different types of actions The 3 action types are. 1. Program Was executed. 2. The Program Was Closed 3. The Settings View was opened User defined actions and names. However, there are times that the user may want to log a special event to the file. An Example of an event would be that a particular job maybe half completed. For this reason we have provided 2 command line utilities. 1. log.exe->OS/2 log program 2. doslog.EXE->Dos log program Both Log.exe and doslog.exe have the same parameters. The first parameter is the name field. The name field can be no longer than 30 characters. The second parameter is the action field. The action field can be no longer than 150 characters. Here are 2 examples 1. log "batch" "The return code was 5" 2. doslog "DOS batch" "Batch file transfer completed " ═══ 9. Viewing The Log File ═══ The Evolutionary Software Task Scheduler And Management System automatically records events associated with each task scheduled. This provides a historical log that may be used to track all scheduled tasks. The view utility has been provided to display all the events recorded in the log file. "Show Only" Filters may also be used to select only matching log entries. The Menu Bar contains the following options: File o Initialize - This will clear and initialize the log file for processing o Print- will print the log with the deault printer job properties Show Only o By Month - Select events logged for a specific month. o By Day - Select events logged for a specific day of the week. o By Job - Select events logged for a specific task name. o By Action - Select events logged for a specific action. Refresh - This will update the screen with new events that have happened . Sort - Sort Ascending -changes the events order from oldest event to newest event. Sort desending -changes the events order from newest event to oldest event. ═══ 10. The Agent's Job. ═══ The agent's job is to check the database on a regular basis. The frequency that the agent checks the database is determined by spin button "A." If the object needs to be executed, it executes that object and then stores the next start interval in the object database. The object at close time will update it's desktop title based on the next start time in the database. The Log button "B." will execute the log viewing program. The help button "D." will get you to this help facility. The last scan time "C." is the last time the agent checked the database for batch objects to execute. ═══ 11. Modify An Existing Object. ═══ ═══ 11.1. Modify All object Parameters ═══ Every object's parameters can be changed. If you want to change an object's parameters, move the cursor so that it points to the object. Click the right mouse button once and the following menu comes up. Click with the left mouse button on the arrow next to the word "open" in the menu. A second menu will pop up with the word "settings". Click with the left mouse button on the word "settings". The notebook associated with this object will come up. For further information on this notebook see Modifying "Batch Time" . ═══ 11.2. Modifying Start Date/time ═══ You can modify the start date time by changing the title of the object. Simply point the cursor at the object. Hold down the control key and press the left mouse button. You can now modify the title of the object. Simply stay within the format of yyyy/mm/dd,hh/mm/ss,title and the object database will get updated with the new date and time. ═══ ═══ The Settings view was opened meant that someone opened the settings page for that object. This means that some of the objects settings could have been changed. This will have a corresponding close. ═══ ═══ This means that the current open view closed. ═══ ═══ This means that the object was actually executed. There will be a corresponding close for this object. ═══ ═══ The name field contains the WorkPlace Shell title of the object. If you change the title of the object. That title change will be reflected in the log file the next time an action takes place on that object. ═══ ═══ The action field contains the WorkPlace Shell action That took place on the object. There are a number of different Types of actions which are discussed Later. ═══ ═══ The Time field contains the time the WorkPlace Shell action took place on the object. This time is automatically stored by the object and or the command line log utilities. ═══ ═══ Evolutionary Software and the Batch Management System are Copyrights of Evolutionary Software